<!doctype html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>设计模式的价值与影响</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            min-height: 100vh;
        }
        
        .hero-gradient {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        
        .card-hover {
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }
        
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
            border-color: #667eea;
        }
        
        .number-circle {
            width: 48px;
            height: 48px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-weight: bold;
            font-size: 20px;
            flex-shrink: 0;
        }
        
        .section-title {
            position: relative;
            padding-left: 20px;
        }
        
        .section-title::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 4px;
            height: 100%;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        
        .drop-cap {
            float: left;
            font-size: 4rem;
            line-height: 1;
            font-weight: 700;
            margin-right: 8px;
            margin-top: -8px;
            color: #667eea;
            font-family: 'Noto Serif SC', serif;
        }
        
        .icon-box {
            width: 60px;
            height: 60px;
            background: rgba(102, 126, 234, 0.1);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #667eea;
            font-size: 24px;
            margin-bottom: 16px;
        }
        
        .mermaid {
            display: flex;
            justify-content: center;
            margin: 2rem 0;
        }
        
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .animate-fadeInUp {
            animation: fadeInUp 0.8s ease-out;
        }
    </style>
</head>
<body>
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-6">
        <div class="max-w-6xl mx-auto text-center">
            <h1 class="text-5xl md:text-6xl font-bold mb-6 animate-fadeInUp">
                设计模式的价值与影响
            </h1>
            <p class="text-xl md:text-2xl opacity-90 max-w-3xl mx-auto animate-fadeInUp" style="animation-delay: 0.2s;">
                探索软件设计中的智慧结晶，构建更优雅、更强大的系统架构
            </p>
            <div class="mt-8 animate-fadeInUp" style="animation-delay: 0.4s;">
                <i class="fas fa-chevron-down text-3xl opacity-70 animate-bounce"></i>
            </div>
        </div>
    </section>

    <!-- Introduction Section -->
    <section class="py-16 px-6">
        <div class="max-w-4xl mx-auto">
            <div class="bg-white rounded-2xl shadow-xl p-8 md:p-12">
                <p class="text-lg leading-relaxed text-gray-700">
                    <span class="drop-cap">设</span>计模式提供了一种系统化的方法来解决软件设计中的常见问题。它们不仅帮助开发人员创建更高效、灵活和可维护的代码，还促进了团队合作和代码的长期可维护性。通过在项目中应用设计模式，可以显著提高软件系统的质量和开发效率。
                </p>
            </div>
        </div>
    </section>

    <!-- Visual Mind Map -->
    <section class="py-12 px-6">
        <div class="max-w-6xl mx-auto">
            <h2 class="text-3xl font-bold text-center mb-12 text-gray-800">设计模式核心价值体系</h2>
            <div class="bg-white rounded-2xl shadow-lg p-8">
                <div class="mermaid">
                    graph TD
                        A[设计模式] --> B[代码质量]
                        A --> C[团队协作]
                        A --> D[系统架构]
                        
                        B --> B1[可重用性]
                        B --> B2[可维护性]
                        B --> B3[可测试性]
                        
                        C --> C1[标准化沟通]
                        C --> C2[知识共享]
                        
                        D --> D1[扩展性]
                        D --> D2[灵活性]
                        D --> D3[解耦性]
                        
                        style A fill:#667eea,stroke:#fff,stroke-width:3px,color:#fff
                        style B fill:#f59e0b,stroke:#fff,stroke-width:2px,color:#fff
                        style C fill:#10b981,stroke:#fff,stroke-width:2px,color:#fff
                        style D fill:#ef4444,stroke:#fff,stroke-width:2px,color:#fff
                </div>
            </div>
        </div>
    </section>

    <!-- Main Content Grid -->
    <section class="py-16 px-6">
        <div class="max-w-6xl mx-auto">
            <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
                
                <!-- Card 1 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-recycle"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">提高代码可重用性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        设计模式提供了经过验证的解决方案，用于解决常见的设计问题。这些模式可以帮助开发人员创建可重用的代码组件，而不必重新发明轮子。
                    </p>
                </div>

                <!-- Card 2 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-tools"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">增强代码的可维护性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        设计模式促进了代码的结构化，使代码更加清晰和易于理解。这种结构化的设计使得代码的维护变得更容易。
                    </p>
                </div>

                <!-- Card 3 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-expand-arrows-alt"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">提高代码的扩展性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        设计模式通常提供了处理变化的机制，使得系统在需求变化时更容易扩展和修改，如工厂模式和策略模式。
                    </p>
                </div>

                <!-- Card 4 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-users"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">促进团队合作</h3>
                    <p class="text-gray-600 leading-relaxed">
                        设计模式提供了一种标准化的解决方案，使得团队成员之间能够更好地沟通和协作，减少了沟通上的障碍。
                    </p>
                </div>

                <!-- Card 5 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-shield-alt"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">减少设计错误</h3>
                    <p class="text-gray-600 leading-relaxed">
                        通过使用经过验证的设计模式，可以减少在设计阶段可能出现的错误，降低因设计不当导致的风险。
                    </p>
                </div>

                <!-- Card 6 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-random"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">提升代码的灵活性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        设计模式通常帮助创建更灵活和可配置的系统，如观察者模式允许对象之间的解耦。
                    </p>
                </div>

                <!-- Card 7 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-vial"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">改善代码的可测试性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        某些设计模式，如依赖注入模式，可以改善代码的测试性，使得单元测试变得更加容易。
                    </p>
                </div>

                <!-- Card 8 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-unlink"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">提升系统的解耦性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        设计模式如适配器模式和桥接模式有助于减少系统组件之间的依赖，提高系统的灵活性和可维护性。
                    </p>
                </div>

                <!-- Card 9 -->
                <div class="bg-white rounded-xl shadow-lg p-6 card-hover">
                    <div class="icon-box">
                        <i class="fas fa-lightbulb"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-3 text-gray-800">提高设计的可理解性</h3>
                    <p class="text-gray-600 leading-relaxed">
                        使用设计模式可以帮助开发人员更好地理解设计意图和架构结构，使设计决策更加透明。
                    </p>
                </div>

            </div>
        </div>
    </section>

    <!-- Summary Section -->
    <section class="py-16 px-6 mb-12">
        <div class="max-w-4xl mx-auto">
            <div class="bg-gradient-to-r from-purple-600 to-indigo-600 rounded-2xl shadow-2xl p-8 md:p-12 text-white">
                <h2 class="text-3xl font-bold mb-6 text-center">设计模式的核心价值</h2>
                <p class="text-lg leading-relaxed text-center opacity-90">
                    设计模式不仅是解决技术问题的工具，更是软件工程智慧的结晶。它们帮助我们构建更加优雅、健壮和可持续发展的软件系统，是每个专业开发者必须掌握的核心技能。
                </p>
            </div>
        </div>
    </section>

    <script>
        mermaid.initialize({ 
            startOnLoad: true,
            theme: 'default',
            themeVariables: {
                primaryColor: '#667eea',
                primaryTextColor: '#fff',
                primaryBorderColor: '#7c3aed',
                lineColor: '#5a67d8',
                secondaryColor: '#006100',
                tertiaryColor: '#fff'
            }
        });
    </script>
</body>
</html>